<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="com.samples.bean.*,java.util.*" %>
<%@ page isELIgnored="false" %>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <!-- JSTL标签 -->
    <c:if test="fasle">
        <h1>我是真1……</h1>
    </c:if>
    <br/>
    <c:if test="true">
            <h1>我是真2……</h1>
    </c:if>

    <%
        // 判断request域中的一个list集合是否为空，如果不为null，则显示遍历集合
        List list = new ArrayList();
        list.add("aaaaa");
        request.setAttribute("list",list);
        request.setAttribute("number",3);
    %>
    <!-- JSTL标签c:if 没有else，想要做else判断，需要写2个c:if标签 -->
    <c:if test = "${not empty list}">
        遍历集合……
    </c:if>
    <br/>
    <c:if test = "${number % 2 != 0}">
        ${number}为奇数
    </c:if>
    <c:if test="${number % 2 == 0}">
        ${number}为偶数
    </c:if>
    <br/>

    <%--
        完成数字编号对应星期几的案例
        1. 域中存储一数字
        2. 使用choose标签声明         			相当于switch声明
        3. 使用when标签做判断         			相当于case
        4. 使用otherwise标签做其他情况的声明    	相当于default
    --%>
    <%
        request.setAttribute("number",3);
    %>
    <c:choose>
        <c:when test="${number == 1}">星期一</c:when>
        <c:when test="${number == 2}">星期二</c:when>
        <c:when test="${number == 3}">星期三</c:when>
        <c:when test="${number == 4}">星期四</c:when>
        <c:when test="${number == 5}">星期五</c:when>
        <c:when test="${number == 6}">星期六</c:when>
        <c:when test="${number == 7}">星期天</c:when>
        <c:otherwise>数字输入有误</c:otherwise>
    </c:choose>
    <br/>

    <%--
        foreach 标签 - 相当于java代码的for语句；
        【作用】1. 用来完成重复的操作
            for(int i=0;i<10;i++){……}
            【属性】begin - 开始值
            【属性】end - 结束值
            【属性】var - 临时变量
            【属性】step - 步长
            【属性】varStatus - 循环状态对象
            【属性】index - 容器中元素的索引，从0开始
            【属性】count - 循环次数，从1开始
        【作用】2. 遍历容器**
            for(item:items){……}
            【属性】items - 容器对象
            【属性】var - 容器中元素的临时变量
    --%>

    <c:forEach begin="1" end="10" var="i" step="1" >
        ${i} <br/>
    </c:forEach>

    <c:forEach begin="1" end="10" var="i" step="2" varStatus="s" >
            ${i} ${s.index} ${s.count}<br/>
    </c:forEach>

    <%
        List list2 = new ArrayList();
        list2.add("aaa");
        list2.add("bbb");
        list2.add("ccc");
        list2.add("ddd");
        request.setAttribute("list2",list2);
    %>

    <c:forEach items="${list2}" var="str" varStatus="s">
        ${s.index} ${s.count} ${str}<br/>
    </c:forEach>

</body>
</html>